home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 October: Mac OS SDK / Dev.CD Oct 97 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Universal / Interfaces / RIncludes / Script.r < prev    next >
Encoding:
Text File  |  1997-08-12  |  15.0 KB  |  321 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        Script.r
  3.  
  4.      Contains:    Script Manager interfaces
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.0.1
  8.  
  9.      Copyright:    © 1986-1997 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. */
  18.  
  19. #ifndef __SCRIPT_R__
  20. #define __SCRIPT_R__
  21.  
  22. #ifndef __CONDITIONALMACROS_R__
  23. #include "ConditionalMacros.r"
  24. #endif
  25.  
  26.                                                             /*  Script System constants  */
  27. #define smSystemScript                     (-1)                /* designates system script. */
  28. #define smCurrentScript                 (-2)                /* designates current font script. */
  29. #define smAllScripts                     (-3)                /* designates any script     */
  30.  
  31. #define smRoman                         0                    /* Roman */
  32. #define smJapanese                         1                    /* Japanese */
  33. #define smTradChinese                     2                    /* Traditional Chinese */
  34. #define smKorean                         3                    /* Korean */
  35. #define smArabic                         4                    /* Arabic */
  36. #define smHebrew                         5                    /* Hebrew */
  37. #define smGreek                         6                    /* Greek */
  38. #define smCyrillic                         7                    /* Cyrillic */
  39. #define smRSymbol                         8                    /* Right-left symbol */
  40. #define smDevanagari                     9                    /* Devanagari */
  41. #define smGurmukhi                         10                    /* Gurmukhi */
  42. #define smGujarati                         11                    /* Gujarati */
  43. #define smOriya                         12                    /* Oriya */
  44. #define smBengali                         13                    /* Bengali */
  45. #define smTamil                         14                    /* Tamil */
  46. #define smTelugu                         15                    /* Telugu */
  47. #define smKannada                         16                    /* Kannada/Kanarese */
  48. #define smMalayalam                     17                    /* Malayalam */
  49.  
  50. #define smSinhalese                     18                    /* Sinhalese */
  51. #define smBurmese                         19                    /* Burmese */
  52. #define smKhmer                         20                    /* Khmer/Cambodian */
  53. #define smThai                             21                    /* Thai */
  54. #define smLaotian                         22                    /* Laotian */
  55. #define smGeorgian                         23                    /* Georgian */
  56. #define smArmenian                         24                    /* Armenian */
  57. #define smSimpChinese                     25                    /* Simplified Chinese */
  58. #define smTibetan                         26                    /* Tibetan */
  59. #define smMongolian                     27                    /* Mongolian */
  60. #define smGeez                             28                    /* Geez/Ethiopic */
  61. #define smEthiopic                         28                    /* Synonym for smGeez */
  62. #define smEastEurRoman                     29                    /* Synonym for smSlavic */
  63. #define smCentralEuroRoman                 29                    /*  another synonym  */
  64. #define smVietnamese                     30                    /* Vietnamese */
  65. #define smExtArabic                     31                    /* extended Arabic */
  66. #define smUninterp                         32                    /* uninterpreted symbols, e.g. palette symbols */
  67. #define smKlingon                         32                    /* Klingon */
  68.                                                             /* Obsolete names for script systems (kept for backward compatibility) */
  69. #define smChinese                         2                    /* (use smTradChinese or smSimpChinese) */
  70. #define smRussian                         7                    /* (old name for smCyrillic) */
  71.                                                             /*  smMaldivian = 25;         (no more smMaldivian!) */
  72. #define smAmharic                         28                    /* (old name for smGeez) */
  73. #define smSlavic                         29                    /* (old name for smEastEurRoman) */
  74. #define smSindhi                         31                    /* (old name for smExtArabic) */
  75.  
  76.                                                             /*  Language Codes  */
  77. #define langEnglish                     0                    /*  smRoman script  */
  78. #define langFrench                         1                    /*  smRoman script  */
  79. #define langGerman                         2                    /*  smRoman script  */
  80. #define langItalian                     3                    /*  smRoman script  */
  81. #define langDutch                         4                    /*  smRoman script  */
  82. #define langSwedish                     5                    /*  smRoman script  */
  83. #define langSpanish                     6                    /*  smRoman script  */
  84. #define langDanish                         7                    /*  smRoman script  */
  85. #define langPortuguese                     8                    /*  smRoman script  */
  86. #define langNorwegian                     9                    /*  smRoman script  */
  87. #define langHebrew                         10                    /*  smHebrew script  */
  88. #define langJapanese                     11                    /*  smJapanese script  */
  89. #define langArabic                         12                    /*  smArabic script  */
  90. #define langFinnish                     13                    /*  smRoman script  */
  91. #define langGreek                         14                    /*  should be smGreek script; current systems actually use smRoman (11/95)  */
  92. #define langIcelandic                     15                    /*  variant smRoman script  */
  93. #define langMaltese                     16                    /*  variant smRoman script  */
  94. #define langTurkish                     17                    /*  variant smRoman script  */
  95. #define langCroatian                     18                    /*  Serbo-Croatian in variant Roman script  */
  96. #define langTradChinese                 19                    /*  Chinese in traditional characters  */
  97.  
  98. #define langUrdu                         20                    /*  smArabic script  */
  99. #define langHindi                         21                    /*  smDevanagari script  */
  100. #define langThai                         22                    /*  smThai script  */
  101. #define langKorean                         23                    /*  smKorean script  */
  102. #define langLithuanian                     24                    /*  smCentralEuroRoman script  */
  103. #define langPolish                         25                    /*  smCentralEuroRoman script  */
  104. #define langHungarian                     26                    /*  smCentralEuroRoman script  */
  105. #define langEstonian                     27                    /*  smCentralEuroRoman script  */
  106. #define langLettish                     28                    /*  smCentralEuroRoman script  */
  107. #define langLatvian                     28                    /*  Synonym for langLettish  */
  108. #define langSaamisk                     29                    /*  lang. of the Sami/Lapp people of Scand. (11/95, no current script supports this)  */
  109. #define langFaeroese                     30                    /*  smRoman script  */
  110. #define langFarsi                         31                    /*  smArabic script  */
  111. #define langPersian                     31                    /*  Synonym for langFarsi  */
  112. #define langRussian                     32                    /*  smCyrillic script  */
  113. #define langSimpChinese                 33                    /*  Chinese in simplified characters  */
  114. #define langFlemish                     34                    /*  smRoman script  */
  115. #define langIrish                         35                    /*  smRoman script  */
  116. #define langAlbanian                     36                    /*  smRoman script  */
  117.  
  118. #define langRomanian                     37                    /*  variant smRoman script (11/95) <22>  */
  119. #define langCzech                         38                    /*  smCentralEuroRoman script  */
  120. #define langSlovak                         39                    /*  smCentralEuroRoman script  */
  121. #define langSlovenian                     40                    /*  uses Croatian variant of smRoman script (11/95) <22>  */
  122. #define langYiddish                     41                    /*  smHebrew script  */
  123. #define langSerbian                     42                    /*  Serbo-Croatian in smCyrillic script  */
  124. #define langMacedonian                     43                    /*  smCyrillic script  */
  125. #define langBulgarian                     44                    /*  variant smCyrillic script (11/95) <22>  */
  126. #define langUkrainian                     45                    /*  variant smCyrillic script (11/95) <22>  */
  127. #define langByelorussian                 46                    /*  smCyrillic script  */
  128. #define langUzbek                         47                    /*  variant smCyrillic script (11/95) <22>  */
  129. #define langKazakh                         48                    /*  variant smCyrillic script (11/95) <22>  */
  130. #define langAzerbaijani                 49                    /*  Azerbaijani in variant smCyrillic script (11/95) <22>  */
  131. #define langAzerbaijanAr                 50                    /*  Azerbaijani in smArabic script (Iran)  */
  132. #define langArmenian                     51                    /*  smArmenian script  */
  133. #define langGeorgian                     52                    /*  smGeorgian script  */
  134. #define langMoldavian                     53                    /*  smCyrillic script  */
  135. #define langKirghiz                     54                    /*  variant smCyrillic script (11/95) <22>  */
  136. #define langTajiki                         55                    /*  variant smCyrillic script (11/95) <22>  */
  137. #define langTurkmen                     56                    /*  variant smCyrillic script (11/95) <22>  */
  138.  
  139. #define langMongolian                     57                    /*  Mongolian in smMongolian script  */
  140. #define langMongolianCyr                 58                    /*  Mongolian in variant smCyrillic script (11/95) <22>  */
  141. #define langPashto                         59                    /*  smExtArabic script (11/95) <22>  */
  142. #define langKurdish                     60                    /*  smArabic script  */
  143. #define langKashmiri                     61                    /*  smExtArabic script (11/95) <22>  */
  144. #define langSindhi                         62                    /*  smExtArabic script (11/95) <22>  */
  145. #define langTibetan                     63                    /*  smTibetan script  */
  146. #define langNepali                         64                    /*  smDevanagari script  */
  147. #define langSanskrit                     65                    /*  smDevanagari script  */
  148. #define langMarathi                     66                    /*  smDevanagari script  */
  149. #define langBengali                     67                    /*  smBengali script  */
  150. #define langAssamese                     68                    /*  smBengali script  */
  151. #define langGujarati                     69                    /*  smGujarati script  */
  152. #define langPunjabi                     70                    /*  smGurmukhi script  */
  153. #define langOriya                         71                    /*  smOriya script  */
  154. #define langMalayalam                     72                    /*  smMalayalam script  */
  155. #define langKannada                     73                    /*  smKannada script  */
  156. #define langTamil                         74                    /*  smTamil script  */
  157. #define langTelugu                         75                    /*  smTelugu script  */
  158. #define langSinhalese                     76                    /*  smSinhalese script  */
  159.  
  160. #define langBurmese                     77                    /*  smBurmese script  */
  161. #define langKhmer                         78                    /*  smKhmer script  */
  162. #define langLao                         79                    /*  smLaotian script  */
  163. #define langVietnamese                     80                    /*  smVietnamese script  */
  164. #define langIndonesian                     81                    /*  smRoman script  */
  165. #define langTagalog                     82                    /*  smRoman script  */
  166. #define langMalayRoman                     83                    /*  Malay in smRoman script  */
  167. #define langMalayArabic                 84                    /*  Malay in smArabic script  */
  168. #define langAmharic                     85                    /*  smEthiopic script  */
  169. #define langTigrinya                     86                    /*  smEthiopic script  */
  170. #define langGalla                         87                    /*  smEthiopic script  */
  171. #define langOromo                         87                    /*  Synonym for langGalla  */
  172. #define langSomali                         88                    /*  smRoman script  */
  173. #define langSwahili                     89                    /*  smRoman script  */
  174. #define langKinyarwanda                 90                    /*  smRoman script  */
  175. #define langRuanda                         90                    /*  synonym for langKinyarwanda  */
  176. #define langRundi                         91                    /*  smRoman script  */
  177. #define langNyanja                         92                    /*  smRoman script  */
  178. #define langChewa                         92                    /*  synonym for langNyanja  */
  179. #define langMalagasy                     93                    /*  smRoman script  */
  180. #define langEsperanto                     94                    /*  extended Roman script  */
  181. #define langWelsh                         128                    /*  smRoman script  */
  182.  
  183. #define langBasque                         129                    /*  smRoman script  */
  184. #define langCatalan                     130                    /*  smRoman script  */
  185. #define langLatin                         131                    /*  smRoman script  */
  186. #define langQuechua                     132                    /*  smRoman script  */
  187. #define langGuarani                     133                    /*  smRoman script  */
  188. #define langAymara                         134                    /*  smRoman script  */
  189. #define langTatar                         135                    /*  smCyrillic script  */
  190. #define langUighur                         136                    /*  smArabic script  */
  191. #define langDzongkha                     137                    /*  (lang of Bhutan) smTibetan script  */
  192. #define langJavaneseRom                 138                    /*  Javanese in smRoman script  */
  193. #define langSundaneseRom                 139                    /*  Sundanese in smRoman script  */
  194. #define langGalician                     140                    /*  smRoman script  */
  195. #define langAfricaans                     141                    /*  smRoman script  */
  196.                                                             /*  Obsolete names, kept for backward compatibility  */
  197. #define langPortugese                     8                    /*  old misspelled version, kept for compatibility  */
  198. #define langMalta                         16                    /*  old misspelled version, kept for compatibility  */
  199. #define langYugoslavian                 18                    /*  (use langCroatian, langSerbian, etc.)  */
  200. #define langChinese                     19                    /*  (use langTradChinese or langSimpChinese)  */
  201. #define langLapponian                     29                    /*  Synonym for langSaamisk, not correct name  */
  202. #define langLappish                     29                    /*  Synonym for langSaamisk  */
  203.  
  204.                                                             /*  Regional version codes  */
  205. #define verUS                             0
  206. #define verFrance                         1
  207. #define verBritain                         2
  208. #define verGermany                         3
  209. #define verItaly                         4
  210. #define verNetherlands                     5
  211. #define verFrBelgiumLux                 6                    /*  French for Belgium & Luxembourg  */
  212. #define verSweden                         7
  213. #define verSpain                         8
  214. #define verDenmark                         9
  215. #define verPortugal                     10
  216. #define verFrCanada                     11
  217. #define verNorway                         12
  218.  
  219. #define verIsrael                         13
  220. #define verJapan                         14
  221. #define verAustralia                     15
  222. #define verArabic                         16                    /*  synonym for verArabia  */
  223. #define verFinland                         17
  224. #define verFrSwiss                         18                    /*  French Swiss  */
  225. #define verGrSwiss                         19                    /*  German Swiss  */
  226. #define verGreece                         20
  227. #define verIceland                         21
  228. #define verMalta                         22
  229. #define verCyprus                         23
  230. #define verTurkey                         24
  231. #define verYugoCroatian                 25                    /*  Croatian system for Yugoslavia  */
  232. #define verNetherlandsComma             26
  233. #define verBelgiumLuxPoint                 27
  234. #define verCanadaComma                     28
  235. #define verCanadaPoint                     29
  236. #define vervariantPortugal                 30
  237. #define vervariantNorway                 31
  238. #define vervariantDenmark                 32
  239. #define verIndiaHindi                     33                    /*  Hindi system for India  */
  240. #define verPakistan                     34
  241. #define verTurkishModified                 35
  242. #define verItalianSwiss                 36
  243. #define verRomania                         39
  244. #define verGreekAncient                 40
  245. #define verLithuania                     41
  246. #define verPoland                         42
  247. #define verHungary                         43
  248. #define verEstonia                         44
  249. #define verLatvia                         45
  250.  
  251. #define verLapland                         46
  252. #define verFaeroeIsl                     47
  253. #define verIran                         48
  254. #define verRussia                         49
  255. #define verIreland                         50                    /*  English-language version for Ireland  */
  256. #define verKorea                         51
  257. #define verChina                         52
  258. #define verTaiwan                         53
  259. #define verThailand                     54
  260. #define verCzech                         56
  261. #define verSlovak                         57
  262. #define verGenericFE                     58
  263. #define verMagyar                         59
  264. #define verBengali                         60
  265. #define verByeloRussian                 61
  266. #define verUkrania                         62
  267. #define verUkraine                         62
  268. #define verAlternateGr                     64
  269. #define verCroatia                         68
  270. #define verBrazil                         71
  271. #define verBulgaria                     72
  272. #define verCatalonia                     73
  273.  
  274. /*----------------------------KSWP • Keyboard Swapping----------------------------------*/
  275. type 'KSWP' {
  276.         /* The expression below that calculates the number of elements in the
  277.            array is complicated because of the way that $$ResourceSize works.
  278.            $$ResourceSize returns the size of the resource.  When derez'ing a
  279.            resource, the size of the resource is known from the start.  When
  280.            rez'ing a resource, however, the size starts out at zero and is
  281.            incremented each time a field is appended to the resource data.  In
  282.            other words, while rez'ing, $$ResourceSize rarely returns the final
  283.            size of the resource.  When rez'ing a KSWP, the array size expression
  284.            is not evaluated until all of the array elements have been parsed.
  285.            Since each array element is 4 bytes long (if you add up all the fields),
  286.            the number of array elements is the size of the resource at that point
  287.            divided by four.  Since the preprocessor value of "DeRez" is zero when
  288.            Rez'ing, the expression is equivalent to $$ResourceSize / 4.  When
  289.            derez'ing a KSWP, the value of $$ResourceSize is constant: always the
  290.            total size of the resource, in bytes.  Since the resource contains 4
  291.            bytes of fill at the end (which happens to be the size of an array
  292.            element), we have to take that in consideration when calculating the
  293.            size of the array.  Note that the preprocessor value of "DeRez" is one,
  294.            when derez'ing.
  295.         */
  296.         wide array [$$ResourceSize / 4 - DeRez]{
  297.             hex integer        Roman, Japanese, Chinese, Korean,    /* script code or verb    */
  298.                             Arabic, Hebrew, Greek,
  299.                             Rotate = -1, System = -2,
  300.                             Alternate = -3, RotateKybd = -4,    /* <20> */
  301.                             ToggleDirection = -9,
  302.                             SetDirLeftRight = -15,
  303.                             SetDirRightLeft = -16,
  304.                             RomanIfOthers = -17;                /* <25> */
  305.             unsigned byte;                                        /* virtual key code        */
  306.             /* Modifiers */
  307.             fill bit;                                            /* rControlOn,rControlOff*/
  308.             fill bit;                                            /* rOptionOn,rOptionOff    */
  309.             fill bit;                                            /* rShiftOn,rShiftOff    */
  310.             boolean        controlOff, controlOn;
  311.             boolean        optionOff, optionOn;
  312.             fill bit;                                            /* capsLockOn,capsLockOff*/
  313.             boolean        shiftOff, shiftOn;
  314.             boolean        commandOff, commandOn;
  315.         };
  316.         fill long;
  317. };
  318.  
  319. #endif /* __SCRIPT_R__ */
  320.  
  321.